/**   
 * Copyright © 2021 eSunny Info. Tech Ltd. All rights reserved.
 * 
 * 功能描述：
 * @Package: com.yl.staff.dao 
 * @author: Bai   
 * @date: 2021年1月30日 下午3:25:39 
 */
package com.yl.staff.dao;

import java.math.BigDecimal;
import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.yl.staff.model.BeanAccountingContentHistory;

/**   
* Copyright: Copyright (c) 2021 云邻信息科技
* 
* @ClassName: MapAccountingContentHistory.java
* @Description: 表 accounting_content_history 对应数据操作
*
* @version: v1.0.0
* @author: Bai
* @date: 2021年1月30日 下午3:25:39 
*
* Modification History:<br>
* Date         Author          Version            Description
*----------------------------------------------------------------*<br>
* 2021年1月30日     Bai             v1.0.0              新建<br>
*/
/* 
 * 功能列表：
 * 	Date          Author          Method            				 Description
 *	------------------------------------------------------------------------------------------------------*<br>
 *  2021年1月30日       Bai             selectAll()               							                                            查询所有考核内容<br>
 *  2021年1月30日       Bai             selectById(int id)  												根据数据编号查询考核内容<br>
 *  2021年1月30日       Bai             selectByStaffCode(String staffCode)      							根据员工编号查询考核内容<br>
 *  2021年1月30日       Bai             selectByChangeContent(String changeContent)               			根据原始考核内容查询考核内容<br>
 *  2021年1月30日       Bai             selectByOriginalContent(String originalContent)               		根据更新考核内容查询考核内<br>
 *  2021年1月30日       Bai             selectByChangeDate(String changeDate)               				根据更改日期内容查询考核内<br>
 *  2021年1月30日       Bai             selectByEffectiveDate(String effectiveDate)            			根据生效日期内容查询考核内<br>
 *  2021年1月30日       Bai             selectByChangeType(String changeType)         						根据更改类型内容查询考核内<br>
 *  2021年1月30日       Bai             selectByOriginalAmount(BigDecimal originalAmount)               	根据原始配额金额查询考核内<br>
 *  2021年1月30日       Bai             selectByChangeAmount(BigDecimal changeAmount)               		根据更改配额金额查询考核内<br>
 *  2021年1月30日       Bai             selectByOriginalMultiple(BigDecimal originalMultiple)				根据原始配额倍数查询考核内<br>
 *  2021年1月30日       Bai             selectByChangeMultiple(BigDecimal changeMultiple)               	根据更改配额倍数查询考核内<br>
 *  2021年1月30日       Bai             updateAll(BeanAccountingContentHistory bach)               		更新除数据编号外的数据<br>
 *  2021年1月30日       Bai             update(BeanAccountingContentHistory bach)               			更新除数据编号和员工编号外的数据<br>
 *  2021年1月30日       Bai             insertInto(BeanAccountingContentHistory bach)               		添加新的变更记录<br>
 *  2021年1月30日       Bai             delete(int id)               										删除变更记录<br>
 */
@Mapper
public interface MapAccountingContentHistory {
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 查询所有考核内容
	*
	* @param:无
	* @return：List<BeanAccountingContentHistory> 更改记录数据集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月1日 上午11:28:45 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月1日     Bai          		 v1.0.0                             新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectAll();
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据数据编号查询考核内容
	*
	* @param: int 数据编号
	* @return：BeanAccountingContentHistory 历史记录信息实体
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月1日 上午11:29:39 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月1日     Bai              v1.0.0                                   新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `id`= #{id}")
	public BeanAccountingContentHistory selectById(int id);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据员工编号查询考核内容
	*
	* @param:String 员工编号
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:24:00 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai          	   v1.0.0                                   新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `staff_code`= #{staffCode} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByStaffCode(String staffCode);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据更改内容查询考核内容
	*
	* @param:String 更改内容
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:28:10 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建<br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `change_content`= #{changeContent} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByChangeContent(String changeContent);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据原始内容查询考核内容
	*
	* @param: string 原始内容
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:30:39 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           		v1.0.0            	新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `original_content`= #{originalContent} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByOriginalContent(String originalContent);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据更改日期查询考核内容
	*
	* @param: string 更改日期
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:40:28 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           v1.0.0               修改原因 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `change_date`= #{changeDate} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByChangeDate(String changeDate);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据生效日期查询考核内容
	*
	* @param:String 生效日期
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:41:24 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai               v1.0.0              	新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `effective_date`= #{effectiveDate} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByEffectiveDate(String effectiveDate);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据更改类型查询考核内容
	*
	* @param:String 更改类型：更新、删除、新增
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午9:42:29 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai           		v1.0.0                                新建<br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `change_type`= #{changeType} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByChangeType(String changeType);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据原始金额查询考核内容
	*
	* @param:BigDecimal 原始金额
	* @return:List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:38:35 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai          		v1.0.0                                新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `original_amount`= #{originalAmount} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByOriginalAmount(BigDecimal originalAmount);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据更改额查询考核内容
	*
	* @param:BigDecimal 更改金额
	* @return:List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:44:01 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0              	新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `change_amount`= #{changeAmount} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByChangeAmount(BigDecimal changeAmount);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据原始倍数查询考核内容
	*
	* @param:BigDecimal 原始倍数
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:54:49 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `original_multiple`= #{originalMultiple} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByOriginalMultiple(BigDecimal originalMultiple);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 根据更改倍数查询考核内容
	*
	* @param:BigDecimal 更改倍数
	* @return：List<BeanAccountingContentHistory> 考核内容集合 OR []空集合
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:56:13 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建 <br>
	 */
	@Select("SELECT  `id`,`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple` FROM `accounting-content-history` WHERE `change_multiple`= #{changeMultiple} ORDER BY id DESC;")
	public List<BeanAccountingContentHistory> selectByChangeMultiple(BigDecimal changeMultiple);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 更新所有数据（id除外）
	*
	* @param: BeanAccountingContentHistory 绩效实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:57:08 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0             	新建 <br>
	 */
	@Update("UPDATE `accounting-content-history` SET `staff_code`= #{staffCode},`change_content`= #{changeContent},`original_content`= #{originalContent},`change_date`= #{changeDate},`effective_date`= #{effectiveDate},`change_type`= #{changeType},`original_amount`= #{originalAmount},`change_amount`= #{originalAmount},`original_multiple`= #{originalMultiple},`change_multiple`= #{originalMultiple} WHERE `id` = #{id};")
	public boolean updateAll(BeanAccountingContentHistory bach);
	/**
	 *  
	* @Function: MapAccountingContentHistory.java
	* @Description: 更新除数据编号以及员工编号外的数据
	*
	* @param:BeanAccountingContentHistory 绩效实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:58:07 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建<br>
	 */
	@Update("UPDATE `accounting-content-history` SET `change_content`= #{changeContent},`original_content`= #{originalContent},`change_date`= #{changeDate},`effective_date`= #{effectiveDate},`change_type`= #{changeType},`original_amount`= #{originalAmount},`change_amount`= #{originalAmount},`original_multiple`= #{originalMultiple},`change_multiple`= #{originalMultiple} WHERE `id` = #{id};")
	public boolean update(BeanAccountingContentHistory bach);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 添加绩效考核内容信息
	*
	* @param:BeanAccountingContentHistory 绩效实体
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午10:59:46 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0                                   新建 <br>
	 */
	@Insert("INSERT INTO `accounting-content-history`(`staff_code`,`change_content`,`original_content`,`change_date`,`effective_date`,`change_type`,`original_amount`,`change_amount`,`original_multiple`,`change_multiple`) VALUES (#{staffCode},#{changeContent},#{originalContent},#{changeDate},#{effectiveDate},#{changeType},#{originalAmount},#{changeAmount},#{originalMultiple},#{changeMultiple});")
	public boolean insertInto(BeanAccountingContentHistory bach);
	/**
	 * 
	* @Function: MapAccountingContentHistory.java
	* @Description: 删除考核内容信息
	*
	* @param: int 数据编号
	* @return： boolean true OR false
	* @throws：异常描述
	*
	* @version: v1.0.0
	* @author: Bai
	* @date: 2021年2月2日 上午11:00:32 
	*
	* Modification History:<br>
	* Date         Author          Version            Description
	*---------------------------------------------------------*<br>
	* 2021年2月2日     Bai              v1.0.0              	新建<br>
	 */
	@Delete("DELETE FROM `accounting-content-history` WHERE id=#{id}")
	public boolean delete(int id);
}
